"""
该文件仅用于定义跨文件读取的全局变量
Definite global value
"""
import math


# 网络超参数
SEQ_MAX_LEN = 100   # 序列最大长度|max length of one sequence
N_HIDDEN_UNITS = 128    # 隐藏节点数目|number hidden units
BATCH_SIZE = 256   # 批处理大小|batch size
KEEP_PROB = 0.5     # drop out概率|drop out
LEARNING_RATE = 0.00002     # 学习速率|learning rate
EPOCH_SIZE = 32768  # epoch数目，实际迭代次数=(数据集总量 * SEPARATE_RATE * EPOCH_SIZE) / BATCH_SIZE|epoch size
CLASSES = 12    # 分类数目（包含2个错误分类）|number of classes
SEPARATE_RATE = 0.8     # 数据集分割比|dataset split ratio
# 模型超参数，不建议修改，修改后需要重新处理数据集并训练模型
REVISE_WIDTH = 270  # 压缩后的视频宽度|width of video compressed
REVISE_HEIGHT = 480     # 压缩后的视频高度|height of video compressed
MIN_SPACING = 3     # 轨迹点集的元素个数小于此值时不参与计算，降低运算量|reduce calculation
MIN_ANGLE = math.pi / 8     # 轨迹关键点的角度阈值|angle threshold for key points
MIN_DISTANCE = 10   # 轨迹关键点的最小距离阈值，与压缩后的分辨率等比|distance threshold for key points
MAX_DISTANCE = 25   # 轨迹关键点的最大距离阈值，与压缩后的分辨率等比|distance threshold for key points
IGNORE_PROP = 4     # 当前轨迹长度与先前轨迹长度的比例超过该值，会忽略先前轨迹|if current_length/past_length>IGNORE_PROP, remove current one
# 文件路径
FILE_DATA = 'Data/data.txt'  # 数据源文件
FILE_DATA_SHUFFLE = 'Data/data_shuffle.txt'     # shuffle后的临时数据集文件
FILE_DATA_TRAIN = 'Data/data_train.txt'     # 分割后的临时训练数据集文件
FILE_DATA_TEST = 'Data/data_test.txt'   # 分割后的临时测试数据集文件
FILE_SAVE = './Models/' + repr(EPOCH_SIZE) + '(' + repr(LEARNING_RATE) + ')/'   # 存储运行结果目录
